package com.qqq.portalservice.user.service;

import com.qqq.adminapi.appuser.domain.dto.UserEditReqDTO;
import com.qqq.commondomain.domain.dto.TokenDTO;
import com.qqq.portalservice.user.domain.dto.LoginDTO;
import com.qqq.portalservice.user.domain.dto.UserDTO;

/**
 * 门户用户服务接口
 */
public interface IUserService {

    /**
     * 登录
     * @param loginDTO 登录DTO
     * @return token信息
     */
    TokenDTO login(LoginDTO loginDTO);

    /**
     * 发送手机验证码
     * @param phone 手机号
     * @return 验证码
     */
    String sendCode(String phone);

    /**
     * 修改⽤户信息
     * @param userEditReqDTO ⽤户编辑DTO
     * @return void
     */
    void edit(UserEditReqDTO userEditReqDTO);

    /**
     * 获取⽤户登录信息
     *
     * @return ⽤户信息
     */
    UserDTO getLoginUser();

    /**
     * 退出登录
     */
    void logout();
}
